package org.hy.persistence;

import java.util.List;

import org.apache.ibatis.annotations.Param;
import org.hy.domain.User;

/**
 * 用户信息映射器
 * @author xwm
 *@see 
 */
public interface UserMapper {

	/**
	 * 根据Id查找用户
	 * @param id 用户Id
	 * @return 用户对象
	 */
	User findUserById(int id);
	
	/**
	 * 查找多个用户
	 * @param ids 用户id数组
	 * @return 用户列表
	 */
	List<User> findUsersByIds(Integer[]ids);
	
	/**
	 * 根据姓名查找用户,可用此实现分页查询
	 * @param username 用户姓名
	 * @param offset 偏移量 
	 * @param limit 数量
	 * @see #findUserById(int)
	 * @return
	 */
	List<User> findUsersByName(String username,@Param("offset") int offset,@Param("size") int limit);
	
	/**
	 * 根据email查找用户
	 * @param email 邮箱
	 * @return 用户对象
	 */
	User findUserByEmail(String email);
	
	/**
	 * 添加用户
	 * @param user 用户对象
	 * @return 成功返回1，否则为0
	 */
	int insertUser(User user);

	/**
	 * 更新用户
	 * @param user 用户对象
	 * @return 成功返回1，否则为0
	 */
	int updateUser(User user);
	
	/**
	 * 删除用户
	 * @param id 用户id
	 * @return 成功返回1，否则为0
	 */
	int deleteUser(int id);
	
}
